# 使用centos7作为基础镜像
FROM centos:7

# 安装必要的软件包
RUN yum update -y && \
    yum install -y openssl && \
    yum install -y java-11-openjdk && \
    yum install -y wget && \
    yum install -y postgresql-server && \
    yum clean all

# 初始化PostgreSQL
RUN /usr/bin/initdb --locale=C -D /var/lib/pgsql/data/

# 开放PostgreSQL端口
EXPOSE 5432

# 指定数据目录为挂载点，以便在容器外持久化数据
VOLUME /var/lib/pgsql/data

# 设置JAVA_HOME环境变量
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk

# 下载并安装openresty
RUN yum install -y yum-utils && \
    yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo && \
    yum install -y openresty && \
    yum clean all

# 设置openresty的环境变量
ENV PATH $PATH:/usr/local/openresty/bin

# 创建/app目录
RUN mkdir /app

# 创建/conf.d目录
RUN mkdir /conf.d

# 创建/lua_model目录
RUN mkdir /lua_model

# 创建/前端web目录
RUN mkdir /web

# 复制nginx配置文件到容器中
COPY nginx.conf /usr/local/openresty/nginx/conf/nginx.conf

# 复制启动脚本到容器中
COPY start.sh /start.sh

# 赋予启动脚本可执行权限
RUN chmod +x /start.sh

# 启动PostgreSQL服务
CMD ["/usr/bin/postgres", "-D", "/var/lib/pgsql/data/", "&"]

# 定义容器启动时执行的命令
CMD ["/start.sh"]